|
Posizione nel menu |
---|
Surface → Sections |
Ambiente |
Surface |
Avvio veloce |
Nessuno |
Introdotto nella versione |
0.19 |
Vedere anche |
Nessuno |
Lo strumento Surface Sections viene utilizzato per creare una superficie dai bordi che rappresentano sezioni trasversali di una superficie.
A sinistra: i bordi di controllo (sezioni trasversali). A destra: la superficie prodotta da questi bordi.
Una Surface Sections (classe Surface::Sections
) è derivato dalla base Part Feature (classe Part::Feature
, attraverso la sottoclasse Part::Spline
), quindi condivide tutte le proprietà di quest'ultima.
Oltre alle proprietà descritte in Part Feature, Surface Sections ha le seguenti proprietà nell'editor delle proprietà.
Sections
LinkSubList
): un elenco di bordi che verranno utilizzati per costruire la curva.
Base
Bool
): il valore predefinito è FALSE
; se impostato su TRUE
, mostrerà una sovrapposizione con i punti di controllo della superficie.The shape of the surface depends on the direction of the chosen edges; if edges are selected and the result is a surface that "twists" on itself, one of the edges may need its list of vertices in the reverse order. See the information in GeomFillSurface for a more complete explanation.
Vedere anche: Script di base per FreeCAD
The Surface Sections tool can be used in macros and from the Python console by adding the Surface::Sections
object.
NSections
property of the object.import FreeCAD as App
import Draft
doc = App.newDocument()
pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)
pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)
points3 = [App.Vector(18, -10, 50),
App.Vector(12, 10, 50),
App.Vector(-12, 10, 50),
App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)
points4 = [App.Vector(15, -20, 100),
App.Vector(0, 6, 100),
App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Sections", "Surface")
surf.NSections = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()